<?php
if($data['CartaOrden']['pagado'] == '0') {
    echo $this->Formulario->formulario('cartaOrden', array('action' => 'guardarModificar'));
    echo $this->Formulario->inputoculto('id', $this->Formulario->id($data['CartaOrden']['id']));
    echo $this->Formulario->inputoculto('idTr', $idTr);
    echo $this->Formulario->inputoculto('cliente_id3', $data['Cliente']['id']);

    $filasAnteriores = '';
    $contadorMonto = 0;
    $totalOriginal = 0;

    $documentoCliente = preg_replace('/^(.){1}/', '$1-', $data['Cliente']['documento']);

    foreach ($dataDetalle as $detalle) {

    $contadorMonto++;
    list($nada, $nombreD) = explode(' - ',$detalle['Clasificacion']['nombre']);
    $montoD = $detalle['CartaOrdenDetalle']['monto'];

    $filasAnteriores .= '<tr>
                            <td width="10%">' . $detalle['Clasificacion']['codigo']. '</td>
                            <td width="51%">' . $nombreD . '</td>
                            <td width="32%" class="derecha">
                              ' . $this->Formulario->inputoculto('clasificacion[]', $detalle['CartaOrdenDetalle']['clasificacion_id'], 'clasificacion_' . $contadorMonto) . '
                                ' . $this->Formulario->input('montos[]', 15, 'moneda', 'inputPago monto', 1, 11, number_format($montoD, 2, ',', ''), 0, 0, 'nada', '', array('id' => 'monto_' . $contadorMonto)) . '
                            </td>
                            <td width="7%" class="derecha"><button id="btn_quitar_det" class="btn_dialogo btn_quitar_det">Quitar</button></td>
                        </tr>';

        $totalOriginal += $montoD;
        
        $arrayIdClasi[] = $detalle['Clasificacion']['id'];
    }

    $totalOriginal = number_format($totalOriginal, 2, ',', '');

    foreach($listaClasificacion as $llave => $valor) {
        if (array_search($llave, $arrayIdClasi) === false) {
            $nuevaListaClasificacion[$llave] = $valor;
        }
    }

    $listaClasificacion = $nuevaListaClasificacion;
?>
    <script type="text/javascript">
        padre = $j('div#dialogoNuevoCartaOrdens:parent').parent('div');
        padre.find('div:eq(2)  button:eq(0)').css('display', 'inline');
        $j('input#monto').removeAttr('onkeyup');
        tituloIdCartaOrden = '<?php echo $data['CartaOrden']['numero']; ?>';
        nuevoTituloIdCartaOrden = tituloIdCartaOrden.replace(/(CTO-(\d{3}))(0){9}/, '$1...');
        $j('#dialogoNuevoCartaOrdens').dialog({title: 'Carta Orden: ' + nuevoTituloIdCartaOrden});
        $j('button.btn_quitar_det').button({icons: {primary: 'ui-icon-minus'}, text: false});

        var cant = <?php echo ($contadorMonto + 1); ?>,
            plantillaClasificacion = '<tr>\n\
                                        <td width="10%">#{codigo}</td>\n\
                                        <td width="51%">#{nombre}</td>\n\
                                        <td width="32%" class="derecha">\n\
                                            <?php echo $this->Formulario->inputoculto('clasificacion[]', '', '#{idClasificacion}'); ?>\n\
                                            <?php echo $this->Formulario->input('montos[]', 15, 'moneda', 'inputPago monto', 1, 11, '', 0, 0, 'nada', '', array('id' => '#{monto}')); ?>\n\
                                        </td>\n\
                                        <td width="7%" class="derecha"><button id="btn_quitar_det" class="btn_dialogo btn_quitar_det">Quitar</button></td>\n\
                                    </tr>';

        $j("form#cartaOrden").tooltip({
            show: true,
            hide: true
        });

        $j('#entidad_id option[value=<?php echo $data['CartaOrden']['entidad_id']; ?>]').attr('selected', true);
        $j('#rubro_id option[value=<?php echo $data['CartaOrden']['rubro_id']; ?>]').attr('selected', true);

        $j('button.btn_agregar').button({icons: {primary: 'ui-icon-plus'}, text: false});

        $j('input#documento').change(function(){
            if(this.value != ''){
                $j.ajax({
                    url: 'Clientes/buscar_por_cedula',
                    type: 'POST',
                    data: { ced_rif: this.value },
                    success: function(data){
                        var data = $j.parseJSON(data),
                            id = '',
                            nombre = '',
                            credito = 'e';
                        if(data != ''){
                            credito = data['Cliente'].credito;
                            if(credito){
                                id = data['Cliente'].id;
                                nombre = data['Cliente'].nombre;
                            }
                        }
                        $j('input#cliente_id3').val(id);
                        $j('input#nombre').val(nombre);

                        if(credito == 0)
                            $j.fn.mensajes(dialogoAvisos, '', 'El Cliente se encuentra registrado,<br/>pero su condici\u00f3n no es de Credito');
                        else if(credito == 'e')
                            $j.fn.mensajes(dialogoAvisos, '', 'El Cliente no se encuentra registrado');
                    }
                });
            } else {
                $j('input#cliente_id3').val('');
                $j('input#nombre').val('');
            }
        });

        $j('button#btn_agregar_det').click(function(e){
            var elemento = $j('select#clasificacion :selected');
            if(elemento.val() != '' && typeof elemento.val() != 'undefined'){
                var texto = elemento.text();
                var textoNuevo = texto.split(' - ');
                var html = $j(plantillaClasificacion.replace(/#\{codigo\}/g, textoNuevo[0])
                                                    .replace(/#\{nombre\}/g, textoNuevo[1])
                                                    .replace(/#\{idClasificacion\}/g, 'clasificacion_' + cant)
                                                    .replace(/#\{monto\}/g, 'monto_' + cant));
                $j(this).closest('div').find('tbody#detalleCartaOrden').append(html);
                $j('input#clasificacion_' + cant).val(elemento.val());
                $j('button.btn_quitar_det').button({icons: {primary: 'ui-icon-minus'}, text: false});

                $j(".monto").rules("remove");
                $j("div#dialogoNuevoCartaOrdens input.monto").each(function () {
                    $j(this).rules('add', { required: true, min: 0.01 });
                });

                $j('input#monto_' + cant).focus();
                cant++;
                elemento.remove();
            }
            e.preventDefault();
        });

        $j(document).on('click', 'button#btn_quitar_det', function(e){
            e.stopImmediatePropagation();
            e.preventDefault();
            var elemento = $j(this).parent().parent();
            $j('select#clasificacion').append('<option value="' + elemento.children(":eq(0)").text() + '">' + elemento.children(":eq(0)").text() + ' - ' + elemento.children(":eq(1)").text() + '</option>')
            var selectOptions = $j('select#clasificacion option');
            selectOptions.sort(function(a, b) {
                if (a.text > b.text)
                    return 1;
                else if (a.text < b.text)
                    return -1;
                else
                    return 0
            });
            $j('select#clasificacion').empty().append(selectOptions);
            $j('select#clasificacion').val($j('select#clasificacion option:first').val());
            elemento.remove();

            if($j('div#dialogoNuevoCartaOrdens input.monto:first').length >= 1)
                $j('div#dialogoNuevoCartaOrdens input.monto:first').focus().trigger('keyup');
            else
                $j('div#dialogoNuevoCartaOrdens input#monto').val(0);
        });

        $j(document).on('keyup', 'input.monto', function(){
            var montoTotal = 0;

            $j('div#dialogoNuevoCartaOrdens input.monto').each(function(){
                var valor = ($j(this).val() != '') ? parseFloat($j(this).val().replace(/\,/g, ".")) : parseFloat(0);
                montoTotal += valor;
            });

            $j('div#dialogoNuevoCartaOrdens input#monto').val($j.fn.addCommas(parseFloat(montoTotal).toFixed(2)));
        });

    <?php
        $this->Validador->setFormulario('cartaOrden');
        $this->Validador->setRules('entidad_id', array('required' => array('value' => true)));
        $this->Validador->setRules('documento', array('required' => array('value' => true)));
        $this->Validador->setRules('nombre', array('required' => array('value' => true)));
        $this->Validador->setRules('rubro_id', array('required' => array('value' => true)));
        $this->Validador->setRules('observacion', array('required' => array('value' => true)));
        $this->Validador->setRules('monto', array('required' => array('value' => true), 'min' => array('value' => 0.01, 'message' => 'El total debe ser mayor o igual a 1')));
        $this->Validador->setRules('montos[]', array('required' => array('value' => true), 'min' => array('value' => 0.01, 'message' => 'El monto debe ser mayor o igual a 1')));
        $this->Validador->printScript();
    ?>
    </script>
    <table border="0" width="100%">
        <tr>
            <th width="160px">Entidad Crediticia</th>
            <td width="220"><?php echo $this->Formulario->select('entidad_id', 1, 'selectn input_reg', $listaEntidades, '', 'nada', 0, 1, array('empty' => 'Seleccione')); ?></td>
            <th width="140px">Rubro</th>
            <td><?php echo $this->Formulario->select('rubro_id', 1, 'selectn input_reg', $listaRubros, '', 'nada', 0, 1, array('empty' => 'Seleccione')); ?></td>
        </tr>
        <tr>
            <th>RIF/Cédula Beneficiario</th>
            <td><?php echo $this->Formulario->input('documento', 1, 'rif', 'inputn input_reg', 7, 15, $documentoCliente, 0, 1); ?></td>
            <th>Nombre Beneficiario</th>
            <td id="td_nombre"><?php echo $this->Formulario->input('nombre', 67, 'todo', 'inputn input_reg', 7, 255, $data['Cliente']['nombre'], 1, 1); ?></td>
        </tr>
        <tr>
            <th>Observaci&oacute;n</th>
            <td colspan="3"><?php echo $this->Formulario->input('observacion', 67, 'todo', 'inputGrande inputn input_reg', 7, 255, $data['CartaOrden']['observacion'], 0, 1); ?></td>
        </tr>
    </table>
    <br/>
    <table border="0" width="100%">
        <tr>
            <th width="90">Clasificaci&oacute;n</th>
            <td width="180"><?php echo $this->Formulario->select('clasificacion', 1, 'selectn input_reg', $listaClasificacion, '', 'nada', 0, 0); ?></td>
            <td><button id="btn_agregar_det" class="btn_dialogo btn_agregar">Agregar</button></td>
        </tr>
    </table>
    <table border="0" class="tabla-dialogo tabla-scroll">
        <thead>
            <th width="10%" class="centro">C&oacute;digo</th>
            <th width="55%" class="centro">Concepto</th>
            <th width="34%" class="centro">Monto</th>
            <th width="1%" class="centro">Acci&oacute;n</th>
        </thead>
        <tbody id="detalleCartaOrden" style="height: 160px;">
            <?php echo $filasAnteriores; ?>
        </tbody>
        <tr>
            <td colspan="4" class="derecha">Total&nbsp;<?php echo $this->Formulario->input('monto', 15, 'numerico', 'inputn inputPago', 7, 255, $totalOriginal, 1, 0); ?></td>
        </tr>
    </table>
<?php 
    echo $this->Formulario->formulario(); 
} else
    echo "Esta carta orden ya ha sio usada.<br/>Por favor cargue otra carta orden.";
?>